// 解题思路：
// 题目要求：删除有有重叠的区间使剩余区间互不重叠，找最小删除次数
// 选定第一个区间为基准区间，如果 right > intervals[i][0]，区间有重叠
// 贪心策略：有重叠时，删除右端点更大的那个区间，right = min(right, intervals[i][1])，记录删除次数
// 如果没有重叠，更新 right，right = intervals[i][1]
// 返回删除次数

import java.util.Arrays;

public class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        Arrays.sort(intervals, (a, b) -> a[0] - b[0]);

        int n = intervals.length;
        int left = intervals[0][0]; int right = intervals[0][1];
        int count = 0;
        int i = 1;
        while(i < n){
            if(right > intervals[i][0]){
                if(right > intervals[i][1]){
                    left = intervals[i][0];
                    right = intervals[i][1];
                }
                count++;
            }else{
                left = intervals[i][0];
                right = intervals[i][1];
            }
            i++;
        }

        return count;
    }
}
